#include "Avalon/ServiceLocator/Account.hpp"
#include "Avalon/Serialization/DataShuttle.hpp"

using namespace Avalon;
using namespace Avalon::Serialization;
using namespace Avalon::ServiceLocator;
using namespace boost;
using namespace std;

AVALON_SERIALIZABLE(Account, "Avalon.ServiceLocator.Account", 0);

Account::Account(const Tag& tag)
    : m_tag(tag) {}

Account::~Account() {}

DirectoryEntry::Type Account::GetType() {
  return DirectoryEntry::Type::ACCOUNT;
}

DirectoryEntry::Tag Account::GetTag() {
  return m_tag;
}

void Account::Shuttle(DataShuttle* shuttle, unsigned int version) {
  shuttle->Shuttle("tag", m_tag);
}

Account::Account() {}
